Skip to content

feat(bitwarden): add Bitwarden Password Manager / Vaultwarden support via bw CLI#585

Draft
Copilot wants to merge 6 commits into
mainfrom
copilot/add-vaultwarden-support
Draft

feat(bitwarden): add Bitwarden Password Manager / Vaultwarden support via bw CLI#585
Copilot wants to merge 6 commits into
mainfrom
copilot/add-vaultwarden-support

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 10, 2026

  • Research existing bitwarden plugin and similar CLI-based plugins (1password, keepass)
  • Create bw-pm-cli-helper.ts for Bitwarden CLI interaction
  • Add BitwardenPasswordManagerInstance class to plugin.ts
  • Add @initBwp() root decorator
  • Add bwp() resolver function (supports password, username, notes, totp, uri, and custom fields)
  • Add bwSessionToken data type
  • Update README.md with full documentation for the new functionality
  • Add changeset
  • Address code review: use unknown type for setAuth param; eliminate non-null assertions in bwp() process handler
  • Fix lint error: move processBwCliError definition before its use (no-use-before-define)
  • Update docs page (packages/varlock-website/src/content/docs/plugins/bitwarden.mdx) with Password Manager / Vaultwarden section, @initBwp() reference, bwp() resolver reference, and bwSessionToken data type

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 10, 2026

🦋 Changeset detected

Latest commit: 78299e9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@varlock/bitwarden-plugin Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copilot AI linked an issue Apr 10, 2026 that may be closed by this pull request
Copilot AI and others added 2 commits April 10, 2026 17:03
Copilot AI changed the title [WIP] Add support for Vaultwarden in Bitwarden plugin feat(bitwarden): add Bitwarden Password Manager / Vaultwarden support via bw CLI Apr 10, 2026
Copilot AI requested a review from theoephraim April 10, 2026 17:06
@theoephraim theoephraim marked this pull request as ready for review April 10, 2026 18:00
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 10, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@varlock/ci-env-info@585
npm i https://pkg.pr.new/varlock@585
npm i https://pkg.pr.new/@varlock/1password-plugin@585
npm i https://pkg.pr.new/@varlock/bitwarden-plugin@585

commit: 78299e9

@theoephraim
Copy link
Copy Markdown
Member

@copilot - fix linting errors

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 10, 2026

@copilot - fix linting errors

Fixed in 8bb972d — moved processBwCliError before its call site in bw-pm-cli-helper.ts to satisfy the no-use-before-define rule.

@theoephraim
Copy link
Copy Markdown
Member

@copilot - update the docs page too

…warden support

Agent-Logs-Url: https://github.com/dmno-dev/varlock/sessions/2338d293-d078-49a0-9136-90e521f82979

Co-authored-by: theoephraim <1158956+theoephraim@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 10, 2026

@copilot - update the docs page too

Done in efa0a66. The docs page now covers both integrations side-by-side: a comparison table at the top, a full Password Manager / Vaultwarden section (prerequisites, Vaultwarden setup, auth steps, loading items, multiple instances), and the updated Reference section with @initBwp(), bwp(), and bwSessionToken.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 10, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
varlock-website efa0a66 Commit Preview URL

Branch Preview URL
Apr 10 2026, 07:32 PM

@theoephraim
Copy link
Copy Markdown
Member

Ok this works but its awkward because you have to log in, then manually store the session token in your .env.local

I think I'll leave this in draft until we get the cache stuff merged. Then we can add a new bwpLogin() function which will let the user log in, and then cache the token.

@theoephraim theoephraim marked this pull request as draft April 10, 2026 21:29
@theoephraim theoephraim marked this pull request as draft April 10, 2026 21:29
…nteraction flag

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@guiand888
Copy link
Copy Markdown

Ok this works but its awkward because you have to log in, then manually store the session token in your .env.local

I think I'll leave this in draft until we get the cache stuff merged. Then we can add a new bwpLogin() function which will let the user log in, and then cache the token.

Storing the session token in an .env or an .env.local is indeed awkward and an anti-pattern, especially since the token never expires. The session token is only expired if one runs bw lock or bw logout.

I do something similar for combining ansible-vault to Bitwarden where I have a simple wrapper that caches the session token in the shell memory (in RAM) instead of a .env file. See: ansible-vault-bitwarden

Another (and more) interesting approach is bitwarden-cli-bio, which is a wrapper bringing biometric unlock to bw.

I would be very happy to change all my variables workflows to varlock + bw. Anything that can be done to help push this?

@theoephraim
Copy link
Copy Markdown
Member

Thanks for posting this. I think with the addition of caching (which I’ll be merging in the next few days) you’ll have a nice DX with biometric unlock. But definitely helpful to see another implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Vaultwarden support

3 participants